package com.ht.module.info.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ht.module.vo.MaterialNumVo;
import com.ht.module.vo.NumberRangeVo;
import lombok.Data;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;


/**
 * <p>
 * 订单表
 * </p>
 *
 * @author Auto-generator
 * @since 2021-12-03
 */

@TableName("info_order")
@Data
@Accessors(chain = true)
public class InfoOrder extends Model<InfoOrder> {


    /**
     * 订单表主键
     */
    @TableId
    private String id;
    /**
     * 订单编号
     */
    private String code;
    /**
     * 订单总价
     */
    private BigDecimal totalPrice;
    /**
     * 商户id
     */
    private String merchantsId;
    /**
     * 配送地址
     */
    @NotEmpty
    private String shippingAddress;
    /**
     * 经度
     */
    @NotEmpty
    private String lng;
    /**
     * 纬度
     */
    @NotEmpty
    private String lat;
    /**
     * 收件人
     */
    @NotEmpty
    private String receipt;
    /**
     * 收件人联系电话
     */
    @NotEmpty
    private String receiptPhone;
    /**
     * 寄语
     */
    private String remarks;
    /**
     * 订单状态-关联码表：order_state
     */
    private String state;
    /**
     * 订单备注
     */
    private String note;
    /**
     * 送达日期
     */
    @NotNull
    private LocalDateTime deliveryDate;
    /**
     * 创建时间
     */
    private LocalDateTime createDate;
    /**
     * 创建人
     */
    private String createUser;
    /**
     * 修改时间
     */
    private LocalDateTime updateDate;
    /**
     * 修改人
     */
    private String updateUser;


    /**
     * 订单详细
     */
    @TableField(exist = false)
    @NotNull
    private List<InfoOrderDetails> details;

    /**
     * 商店名
     */
    @TableField(exist = false)
    private String merchantsName;
    /**
     * 商户地址
     */
    @TableField(exist = false)
    private String merchantsAddress;
}
